home *** CD-ROM | disk | FTP | other *** search
- /* $VER: documentstyle V 0.6 (25.05.94) Fin Schuppenhauer */
-
- /** Erzeugt je nach angegebenen Dokumentenstil ein Gerüst.
- Es werden außerdem die Optionen für \documentstyle
- erfragt und der Seitenstil mit \pagestyle bestimmt.
- Abhängig von den gemachten Angaben können noch weitere
- Abfragen erfolgen.
- Derzeit werden folgende Stile unterstützt:
-
- article:
- (Vorgabe) Es werden die Optionen und
- der Seitenstil abgefragt. Bei Bedarf
- auch die Angabe für die Kopfzeile(n).
- report:
- Abfragen wie bei article.
- book:
- Wie article. Zusätzlich wird der Befehl
- \tableofcontents eingefügt.
- letter:
- Zu den üblichen Abfragen wird außerdem
- nach dem Empfänger, der Anrede und
- Grußformel gefragt. Ein Teil der
- Angaben (z.B. die Absenderadresse)
- werden unten vordefiniert.
- dletter:
- Eine private Abwandlung von letter.
- Abfragen wie bei letter. Die Stiloption
- dletter wird nicht mitgeliefert.
-
- Meine Anschrift:
-
- Fin Schuppenhauer
- Braußpark 10
- 20537 Hamburg
- (Germany)
-
- E-Mail: schuppenhauer@rzdspc2.informatik.uni-hamburg.de
- oder: 1schuppe@rzdspc2.informatik.uni-hamburg.de
-
- **/
-
- OPTIONS RESULTS /* enable return codes */
-
- if (LEFT(ADDRESS(), 6) ~= "GOLDED") then /* not started by GoldEd ? */
- address 'GOLDED.1'
-
- 'LOCK CURRENT' /* lock GUI, gain access */
- OPTIONS FAILAT 6 /* ignore warnings */
- SIGNAL ON SYNTAX /* ensure clean exit */
-
-
- /* ------------------------ INSERT YOUR CODE HERE: ------------------- */
-
- /** Für die Verwendung der Stiloptionen letter bzw. dletter erwartet
- ** dieses Skript hier ihre Anpasungen für die LaTeX-Komandos \address
- ** und \signature.
- ** z.B.:
- **/
- ADRESSE = 'Fin Schuppenhauer\\Brau"spark 10\\20537 Hamburg'
- TELEPHONE = '(040) 219 46 51'
- SIGNATURE = 'Fin Schuppenhauer'
- ANREDE = 'Sehr geehrte'
- REGARDS = 'Mit freundlichen Gr"u"sen'
-
-
- 'QUERY CAT'
- german = (result = "deutsch")
-
- PARSE ARG STYLE
- if length(STYLE) = 0 then do
- /* Nach dem Seitenstil (Vorgegeben: article) fragen: */
- if german then
- 'REQUEST TITLE="Dokumentstil bestimmen" BODY="Bitte geben Sie den gewünschten Seitenstil an:" OLD="article" STRING VAR STYLE'
- else
- 'REQUEST TITLE="Set documentstyle" BODY="Please specify your disered document style:" OLD="article" STRING VAR STYLE'
- end
- if rc = 0 then do
- /** Wenn der vorherige Requester nicht abgebrochen wurde, fügen
- ** wir je nach verwendetem Stil weitere LaTeX-Befehle ein und
- ** fragen noch nach dem Seitenstil:
- **/
- select
- when STYLE="article" then do
- error = 0
- call SetOptions
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\documentstyle'OPT'{article}"'
- call SetPagestyle
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\begin{document}"'
- end
- when STYLE="report" then do
- error = 0
- call SetOptions
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\documentstyle'OPT'{report}"'
- call SetPagestyle
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\begin{document}"'
- end
- when STYLE="book" then do
- error = 0
- call SetOptions
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\documentstyle'OPT'{book}"'
- OPT = insert('twoside', OPT, 1)
- call SetPagestyle
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\begin{document}"'
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T=" \tableofcontents"'
- end
- when (STYLE="letter") | (STYLE="dletter") then do
- error = 0
- call SetOptions
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\documentstyle'OPT'{'STYLE'}"'
- call SetPagestyle
- 'FIX VAR ADRESSE'
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\address{'ADRESSE'}"'
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\telephone{'TELEPHONE'}"'
- 'FIX VAR SIGNATURE'
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\signature{'SIGNATURE'}"'
-
- 'DOWN'
- 'INSERT LINE'
- if STYLE="letter" then do
- 'TEXT STAY T="%\makelables"'
- end
- else do
- 'TEXT STAY T="%\zeichen{ihrs}{unser}"'
- end
-
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\begin{document}"'
- call SetAddressee
- end
- otherwise do
- error = 1
- end
- end
- if error = 0 then do
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\end{document}"'
- if (pos('letter', STYLE) = 0) & (pos('dletter', STYLE) = 0) then do
- 'INSERT LINE'
- 'TAB'
- end
- else do
- 'UP'
- 'UP'
- 'UP'
- 'UP'
- 'UP'
- 'TEXT T=" "'
- end
- end
- end
-
- /* ---------------------------- END OF YOUR CODE --------------------- */
-
- 'UNLOCK' /* VERY important: unlock GUI */
- EXIT
-
- SYNTAX:
-
- SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-("
- 'UNLOCK'
- EXIT
-
- SetOptions:
- /** Fragt nach den Optionen für \documentstyle.
- ** Nur wenn welche angegeben werden, werden diese auch
- ** eingefügt.
- **/
- if german then
- 'REQUEST TITLE="Dokument-Optionen bestimmen" BODY="Bitte geben Sie die gewünschten Optionen an:" OLD="german,a4" STRING VAR OPT'
- else
- 'REQUEST TITLE="Set document options" BODY="Please specify your desired options:" STRING VAR OPT'
- if (rc = 0) & (length(OPT) > 0) then
- OPT = '[' || OPT || ']'
- RETURN
-
- SetPagestyle:
- /** Fragt nach dem Seitenstil nach und ggf. nach den Texten für
- ** die Kopfzeile.
- **/
-
- if german then
- 'REQUEST TITLE="Seitenstil bestimmen" BODY="Bitte bestimmen Sie den Seitenstil:" OLD="plain" STRING VAR PAGESTYLE'
- else
- 'REQUEST TITLE="Set pagestyle" BODY="Please specify the pagestyle:" OLD="plain" STRING VAR PAGESTYLE'
-
- if (rc = 0) & (length(PAGESTYLE) > 0) then do
- /** Ok, ein bestimmter Seitenstil ist gewünscht. **/
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\pagestyle{'PAGESTYLE'}"'
-
- /** Wenn der Autor eigene Kopfzeilen-Texte haben möchte, wird er
- ** die Option myheadings angegeben haben und wir fragen ihn
- ** jetzt nach dem Text dafür:
- **/
- if pos('myheadings', PAGESTYLE) ~= 0 then do
- if german then
- 'REQUEST TITLE="Rechte Kopfzeile" BODY="Geben Sie den Text für die rechte Kopfzeile ein:" STRING VAR RHEAD'
- else
- 'REQUEST TITLE="Right heading" BODY="Enter text for right heading:" STRING VAR RHEAD'
-
- if pos('twoside', OPT) ~= 0 then do
- /** Der zu erstellende Text wird zweiseitig sein, d.h. es
- ** gibt zusätzlich noch eine linke Kopfzeile:
- **/
- headings = 2
- if german then
- 'REQUEST TITLE="Linke Kopfzeile" BODY="Geben Sie den Text für die linke Kopfzeile ein:" OLD="'RHEAD'" STRING VAR LHEAD'
- else
- 'REQUEST TITLE="Left heading" BODY="Enter text for the left heading:" OLD="'RHEAD'" STRING VAR LHEAD'
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\markboth{'RHEAD'}{'LHEAD'}"'
- end
- else do
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="\markright{'RHEAD'}"'
- end
- end
- end
- RETURN
-
- SetAddressee:
- /** Wird von (d)letter aufgerufen und fragt nach der Empfänger-
- ** adresse, der Anrede und Grußformel.
- **/
- if german then
- 'REQUEST TITLE="Empfänger" BODY="Bitte Empfängeradresse eingeben (LaTeX-Stil):" STRING VAR ADDRESSEE'
- else
- 'REQUEST TITLE="Adressee" BODY="Please enter addressee''s address (LaTeX like):" STRING VAR ADDRESSEE'
- 'FIX VAR ADDRESSEE'
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T=" \begin{letter}{'ADDRESSEE'}"'
-
- if german then
- 'REQUEST TITLE="Anrede bestimmen" BODY="Bitte Anrede-Text eingeben:" OLD="'ANREDE'" STRING VAR ANREDE'
- else
- 'REQUEST TITLE="Set address" BODY="Please enter address:" OLD="'ANREDE'" STRING VAR ANREDE'
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T=" \opening{'ANREDE'}"'
- 'DOWN'
- 'INSERT LINE'
-
- 'FIX VAR REGARDS'
- if german then
- 'REQUEST TITLE="Grußformel bestimmen" BODY="Bitte Grußformel eingeben:" OLD="'REGARDS'" STRING VAR REGARDS'
- else
- 'REQUEST TITLE="Set regards" BODY="Please enter your regards:" OLD="'REGARDS'" STRING VAR REGARDS'
- 'FIX VAR REGARDS'
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T=" \closing{'REGARDS'}"'
-
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="% \cc{}"'
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T="% \encl{}"'
-
- 'DOWN'
- 'INSERT LINE'
- 'TEXT STAY T=" \end{letter}"'
- RETURN
-